// 要使用的layui模块
layui.use(['layer', 'form', 'table', 'laydate', 'element'], function() {
	var layer = layui.layer; // 获得layer模块
	var form = layui.form; // 获得form模块
	var table = layui.table; // 获得table模块
	var laydate = layui.laydate; // 获得laydate模块
	var element = layui.element; // 获得element模块（和导航、tab等有关）
	var $ = layui.$; // 调用JQuery方法时
	var laytpl = layui.laytpl;
	var empsoftdel = layui.empsoftdel; // 获取自己封装的ajax模块

	//更新 lay-filter="test2" 所在容器内的全部 select 状态
	// form.render('select', 'test2');


	//第一个实例
	table.render({
		elem: '#test' // 给table设置id或class，方便layui调用该元素
			,
		height: 'full-50' // 窗口高度-100
			,
		// url: 'http://192.168.44.129:9000/customer/customerinformation/findcustomerall' ,// 数据接口
		url: 'http://localhost:9000/customer/customerinformation/findcustomerall' // 数据接口
			// ,method: 'post' //如果无需自定义HTTP类型，可不加该参数
			,
		page: true // 开启分页
			,
		limit: 10 // 默认页大小
			,
		limits: [10, 20, 30, 50, 100] //自定义可选分页大小
			,
		cellMinWidth: 80 // 全局定义常规单元格的最小宽度，layui 2.2.1 新增
			,
		skin: 'line' // 行边框风格
			// ,even: true // 开启隔行背景
			// ,size: 'sm' // 小尺寸的表格
			,
		totalRow: true // 开启合计功能
			,
		toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
			//自定义头部工具栏右侧图标。如无需自定义，去除该参数即可
			,
		defaultToolbar: [
			/* 'filter', 'exports', 'print', { // 列过滤、导出按钮、打印按钮
			            title: '提示'
			            ,layEvent: 'LAYTABLE_TIPS'
			            ,icon: 'layui-icon-tips'
			        } */
		],
		title: '代收结算表' // 表名
			// 列信息
			,
		cols: [
			[ //表头
				// {type:'radio', fixed: 'left'} // 开启单选框
				{
					type: 'checkbox',
					fixed: 'left'
				}, // 开启复选框
				{
					field: 'ciid',
					title: '编号',
					width: 80,
					sort: true, //开启排序
					fixed: 'left'
					// templet: '#rank'
				},
				{
					field: 'customer',
					title: '客户名称',
					sort: true,
					width: 90,
					align: 'center'
				},
				{
					field: 'phone',
					title: '电话',
					sort: true,
					width: 130,
					align: 'center'
				},
				{
					field: 'fax',
					title: '传真',
					align: 'center'
				},
				{
					field: 'address',
					title: '地址',
					sort: true,
					align: 'center'
				},
				{
					field: 'postCode',
					title: '邮编',
					align: 'center'
				},
				{
					field: 'linKman',
					title: '联系人',
					sort: true,
					align: 'center'
				},
				{
					field: 'linkmanMobile',
					title: '联系人手机',
					width: 150,
					align: 'center'
				},
				{
					field: 'customerType',
					title: '客户类型',
					sort: true,
					align: 'center'
				},
				{
					field: 'enterpriseProperty',
					title: '企业性质',
					sort: true,
					align: 'center'
				},
				{
					field: 'enterpriseSize',
					title: '企业规模',
					sort: true,
					align: 'center'
				},
				{
					field: 'email',
					title: '电子邮件',
					width: 150,
					align: 'center'
				},
				{
					fixed: 'right',
					title: '操作',
					toolbar: '#barDemo',
					width: 150,
					align: 'center'
				}
			]
		]
	});
	// layer.msg('hello');



	// laydate时间模块，指定html的元素
	laydate.render({
		elem: '#balanceDate' // 指定元素
			,
		range: true // 启用范围，或 range: '~' 来自定义分割字符，默认'-'
			,
		format: 'yyyy-MM-dd HH:mm:ss',
		btns: ['clear', 'now', 'confirm']
			// ,theme: '#393D49'
			,
		theme: 'grid'
	});
	// 查询用对象
	var MgrSettle = {
		tableId: "test", //表格id
		condition: {
			customer: "",
			balanceDate: ""
		}
	};


	// 点击查询按钮
	// $('#btnSearch').click(function() {
	// 	MgrSettle.search();
	// });
	// 查询请求内容
	MgrSettle.search = function() {
		var queryData = {};
		queryData['customerCode'] = $("#customerCode").val();
		      queryData['customer'] = $("#customer").val();
		queryData['phone'] = $("#phone").val();
		queryData['linkman'] = $("#linkman").val();
		queryData['linkmanMobile'] = $("#linkmanMobile").val();
		queryData['customerType'] = $("#customerType").val();
		queryData['enterpriseProperty'] = $("#enterpriseProperty").val();
		queryData['enterpriseSize'] = $("#enterpriseSize").val();
		table.reload(MgrSettle.tableId, {
			where: queryData
		});
	};

	// 服务器排序
	table.on('sort(test)', function(obj) { //注：sort 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
		// console.log(obj.field); //当前排序的字段名
		// console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
		// console.log(this); //当前排序的 th 对象

		//尽管我们的 table 自带排序功能，但并没有请求服务端。
		//有些时候，你可能需要根据当前排序的字段，重新向服务端发送请求，从而实现服务端排序，如：
		table.reload('test', {
			initSort: obj //记录初始排序，如果不设的话，将无法标记表头的排序状态。
				,
			where: { //请求参数（注意：这里面的参数可任意定义，并非下面固定的格式）
				sidx: obj.field //排序字段
					,
				sord: obj.type //排序方式
			}
		});
		// layer.msg('服务端排序。order by ' + obj.field + ' ' + obj.type);
	});


	// 表格重载（可用于查询）
	/*        table.reload('test', {
	            url: '/cmblist'
	            ,where: {} //设定异步数据接口的额外参数
	            //,height: 300
	        });*/
	// 监听行单击事件
	/*table.on('row(test)', function(obj){
	    console.log(obj.tr) //得到当前行元素对象
	    console.log(obj.data) //得到当前行数据
	    //obj.del(); //删除当前行
	    //obj.update(fields) //修改当前行数据
	});*/

	// 监听行双击事件
	table.on('rowDouble(test)', function(obj) {
		console.log(obj.tr) //得到当前行元素对象
		console.log(obj.data) //得到当前行数据
	});




	// 复选框监听
	table.on('checkbox(test)', function(obj) {
		console.log(obj.checked); //当前是否选中状态
		console.log(obj.data); //选中行的相关数据
		console.log(obj.type); //如果触发的是全选，则为：all，如果触发的是单选，则为：one
	});

	//头工具栏事件
	table.on('toolbar(test)', function(obj) {
		var checkStatus = table.checkStatus(obj.config.id);
		switch (obj.event) {
			// case 'getCheckData':
			//     var data = checkStatus.data;
			//     layer.alert(JSON.stringify(data));
			//     break;
			// case 'getCheckLength':
			//     var data = checkStatus.data;
			//     layer.msg('选中了：'+ data.length + ' 个');
			//     break;
			// case 'isAll':
			//     layer.msg(checkStatus.isAll ? '全选': '未全选');
			//     break;
			case 'searchCustomer':
				MgrSettle.search();
				break;
			case 'fillin':
				parent.layer.open({
					type: 2,
					title: '客户添加',
					skin: 'layui-layer-molv',
					area: ['60%', '90%'], //宽高
					content: 'http://localhost:9000/customer/html/customerInsert.html'
				});
				break;

				//自定义头工具栏右侧图标 - 提示
				// case 'LAYTABLE_TIPS':
				//     layer.alert('这是工具栏右侧自定义的一个图标按钮');
				//     break;
		};
	});

	//监听工具条
	table.on('tool(test)', function(obj) {
		var data = obj.data;
		if (obj.event === 'modify') {
			layer.open({
				type: 2,
				title: '客户信息修改',
				skin: 'layui-layer-molv',
				area: ['60%', '90%'], //宽高
				content: 'http://localhost:9000/customer/html/customerModify.html',
				success: function(layero, index) {
					var body = layer.getChildFrame('body', index); //得到产品查询层的BODY
                    // body.find('#customerCode').val(data.customerCode);
                    // body.find('#customer').val(data.customer);
                    // body.find('#phone').val(data.phone);
                    // body.find('#fax').val(data.fax);
                    // body.find('#address').val(data.address);
                    // body.find('#postCode').val(data.postCode);
                    // body.find('#linkman').val(data.linkman);
                    // body.find('#linkmanMobile').val(data.linkmanMobile);
                    // body.find('#customerType').val(data.customerType);
                    // body.find('#enterpriseProperty').val(data.enterpriseProperty);
                    // body.find('#enterpriseSize').val(data.enterpriseSize);
                    // body.find('#email').val(data.email);
					body.find('#hidValue').val(JSON.stringify(data)); //将本层的窗口索引传给产品查询层的hidValue中
					// form.render();
				}
			});
		} else if (obj.event === 'del') {
			layer.confirm('确认删除？', function(index) {
				obj.del();
				layer.close(index);

				empsoftdel.ajax('http://localhost:9000/customer/customerinformation/delete', 'post', 'json', {
					"customerCode": data.customerCode
				}, function(res) {
					alert(res.msg);
				});

			});
		} else if (obj.event === 'edit') {
			layer.alert('编辑行：<br>' + JSON.stringify(data))
		}
	});
});
